package com.itheima.controller;

import com.itheima.pojo.Dept;
import com.itheima.pojo.Result;
import com.itheima.service.DeptServiceJob;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.time.LocalDateTime;
import java.util.List;

/**
 * CTassName: DeptControllerJob
 * Package: com.itheima.controller
 * Description:
 *
 * @Author xw
 * @Create 2023/11/4 19:51
 * @Version 1.0
 */

@Slf4j
@RestController
public class DeptControllerJob {

    @Autowired
    private DeptServiceJob deptServiceJob;

    //  查询所有部门
    @GetMapping("/depts")
    public Result list() {
        log.info("查询所有部门数据");
        List<Dept> deptList = deptServiceJob.list();
        return Result.success(deptList);
    }


    // 添加部门
    @PostMapping("/depts")
    public Result addDept(@RequestBody Dept dept){
        // 日志
        log.info("添加部门{}",dept.toString());
        // 用业务层添加功能
        deptServiceJob.addDept(dept);
        return Result.success();

    }

    /*
     * 根据id删除部门数据
     * */
    @DeleteMapping("/depts/{id}")
    public Result delete(@PathVariable Integer id) {
        // 开启日志
        log.info("删除部门 id 为 {} 的数据", id);

        deptServiceJob.delete(id);
        return Result.success();
    }


    // 根据ID查询 查询 Dept 表数据
    @GetMapping("/depts/{id}")
    private Result getName(@PathVariable Integer id) {

        // 开启日志
        log.info("根据ID查询 查询 Dept 表数据：{}", id);

        // 调用方法
        Dept data = deptServiceJob.getNameList(id);

        return Result.success(data);
    }


    /*
     *  修改部门
        格式：application/json
     * */
    @PutMapping("/depts")
    public Result applicationJson(@RequestBody Dept deptRequest) {
        // 开启日志
        log.info("请求参数{}", deptRequest.toString());


        Boolean update = deptServiceJob.update(deptRequest);

        if (update) {
            return Result.success();
        }
        return Result.error("修改失败");


    }


}
